Omniとdbtリポジトリを連携してdbt上のdescriptionをOmniに反映させてみた

Omniとdbtリポジトリを連携してdbt上のdescriptionをOmniに反映させてみた

Clock Icon2024.08.18

さがらです。

Omniとdbtリポジトリを連携してdbt上のdescriptionをOmniに反映させてみたので、その内容を本記事でまとめてみます。

※Omni自体については、下記のブログが参考になると思います。

https://dev.classmethod.jp/articles/try-omni/

試す内容

下記のドキュメントに沿って、dbtのリポジトリと連携してみます。

https://docs.omni.co/docs/integrations/dbt

使用するConnectionは、下記のブログで用いたSnowflakeのConnectionを使用します。このブログで使用したSnowflakeのデータベース・スキーマ・テーブルはdbtを用いて構成しているので、ちょうど本記事の検証内容にマッチするためです。

https://dev.classmethod.jp/articles/try-omni/

Connectionのdbt連携設定

まず、dbtと連携をしたいConnectionの設定画面で、dbtタブを押します。

すると、下図のような画面が出てくるので、各種情報を入力し、右下のSaveを押します。

  • Git SSH URL:連携対象のGitHubのリポジトリのSSHのURL
  • Git Branch:mainなど、本番管渠として利用している
  • Target Schema:dbtのProduction Environmentとしている環境の出力先のスキーマ名を入力
    • dbt Cloudの場合、Deployment Environments > Production Prod > Settings > Deployment Credentials > Schemaで確認可能です。

2024-08-18_17h10_42

同じ画面の下部にPublic Keyが表示されるため、これをコピーして、対象のリポジトリのDeploy keys新しいDeploy keyを追加して貼り付けます。Allow write accessも忘れずにチェックして、Add keyを押します。

2024-08-18_17h14_24

2024-08-18_17h15_04

Deploy keyの追加後、Omniの画面に戻りTest Connectionを押します。押した結果下図のように表示されて問題なければ、Saveを押します。

2024-08-18_17h16_46

dbtのdescriptionの連携

対象のConnectionのModel開発画面に移動し、上部のModelからRefresh schemaを押します。

2024-08-18_17h22_25

すると、下図のようにdbtで定義していたdescriptionが反映されました!日本語のdescriptionであっても問題なく反映されています。(ちなみに、ドキュメントによると2024年8月18日時点はこの更新は自動化はされていないようです。)

2024-08-18_17h28_57

また、各viewの最下部には紐づくdbt ModelのSQLの内容も反映されています。

2024-08-18_17h30_40

ちなみに、dbtから引用したDescriptionはフィールドピッカーでも表示可能です。

2024-08-18_17h33_19

最後に

Omniとdbtリポジトリを連携してdbt上のdescriptionをOmniに反映させてみたので、その内容を本記事でまとめてみました。

dbtを使用しているユーザーは多いと思いますので、dbtのdescriptionがそのまま活用できるのは嬉しいですね!

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.